<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>SIMUPROC &mdash; Simulador de planificación de procesos - SIMUPROC</title>
    <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '',
        VERSION:     '1.0',
        COLLAPSE_MODINDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <script type="text/javascript" src="_static/translations.js"></script>
    <link rel="top" title="Simulador de planificación de procesos - SIMUPROC" href="index.html" />
    <link rel="prev" title="Bienvenido al Manual de Usuario del SiMuProc" href="index.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navegación</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="Índice General"
             accesskey="I">índice</a></li>
        <li class="right" >
          <a href="index.html" title="Bienvenido al Manual de Usuario del SiMuProc"
             accesskey="P">anterior</a> |</li>
        <li><a href="index.html">Simulador de planificación de procesos - SIMUPROC</a> &raquo;</li> 
      </ul>
    </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <h3><a href="index.html">Contenidos</a></h3>
            <ul>
<li><a class="reference external" href="#">SIMUPROC</a><ul>
<li><a class="reference external" href="#introduccion">Introducción</a></li>
<li><a class="reference external" href="#requisitos">Requisitos</a><ul>
<li><a class="reference external" href="#instalacion-de-dependencias">Instalación de dependencias</a></li>
</ul>
</li>
<li><a class="reference external" href="#ejecutar-el-programa">Ejecutar el programa</a></li>
<li><a class="reference external" href="#uso">Uso</a><ul>
<li><a class="reference external" href="#ventana-de-bienvenida">Ventana de Bienvenida</a></li>
<li><a class="reference external" href="#ventana-de-solicitud-de-datos">Ventana de Solicitud de datos</a></li>
<li><a class="reference external" href="#ventana-de-resultados">Ventana de resultados</a></li>
</ul>
</li>
<li><a class="reference external" href="#ver-graficas">Ver gráficas</a></li>
<li><a class="reference external" href="#ver-simulaciones">Ver Simulaciónes</a></li>
<li><a class="reference external" href="#miscelaneos">Misceláneos</a></li>
<li><a class="reference external" href="#archivos-de-datos-generados">Archivos de datos generados</a></li>
<li><a class="reference external" href="#bibliografia">Bibliografía</a></li>
</ul>
</li>
</ul>

            <h4>Tema anterior</h4>
            <p class="topless"><a href="index.html"
                                  title="Capítulo anterior">Bienvenido al Manual de Usuario del SiMuProc</a></p>
            <h3>Esta página</h3>
            <ul class="this-page-menu">
              <li><a href="_sources/manual.txt"
                     rel="nofollow">Enseñar el código</a></li>
            </ul>
          <div id="searchbox" style="display: none">
            <h3>Búsqueda rápida</h3>
              <form class="search" action="search.html" method="get">
                <input type="text" name="q" size="18" />
                <input type="submit" value="Ir a" />
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </form>
              <p class="searchtip" style="font-size: 90%">
              Enter search terms or a module, class or function name.
              </p>
          </div>
          <script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="simuproc">
<h1><a class="toc-backref" href="#id1">SIMUPROC</a><a class="headerlink" href="#simuproc" title="Enlazar permanentemente con este título">¶</a></h1>
<p>Simulador de planificación de procesos</p>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#simuproc" id="id1">SIMUPROC</a><ul>
<li><a class="reference internal" href="#introduccion" id="id2">Introducción</a></li>
<li><a class="reference internal" href="#requisitos" id="id3">Requisitos</a><ul>
<li><a class="reference internal" href="#instalacion-de-dependencias" id="id4">Instalación de dependencias</a></li>
</ul>
</li>
<li><a class="reference internal" href="#ejecutar-el-programa" id="id5">Ejecutar el programa</a></li>
<li><a class="reference internal" href="#uso" id="id6">Uso</a><ul>
<li><a class="reference internal" href="#ventana-de-bienvenida" id="id7">Ventana de Bienvenida</a></li>
<li><a class="reference internal" href="#ventana-de-solicitud-de-datos" id="id8">Ventana de Solicitud de datos</a></li>
<li><a class="reference internal" href="#ventana-de-resultados" id="id9">Ventana de resultados</a></li>
</ul>
</li>
<li><a class="reference internal" href="#ver-graficas" id="id10">Ver gráficas</a></li>
<li><a class="reference internal" href="#ver-simulaciones" id="id11">Ver Simulaciónes</a></li>
<li><a class="reference internal" href="#miscelaneos" id="id12">Misceláneos</a></li>
<li><a class="reference internal" href="#archivos-de-datos-generados" id="id13">Archivos de datos generados</a></li>
<li><a class="reference internal" href="#bibliografia" id="id14">Bibliografía</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="introduccion">
<span id="inicio"></span><h2><a class="toc-backref" href="#id2">Introducción</a><a class="headerlink" href="#introduccion" title="Enlazar permanentemente con este título">¶</a></h2>
<p>La manera en como funciona el procesador corresponde a una serie de algoritmos que están descritos en el sistema operativo; esto genera un impacto teniendo en cuenta el tipo de computador y su uso especifico.</p>
<p>El simulador de planificación de procesos &#8216;-&#8216; Simuproc, utiliza los siguientes algoritmos:</p>
<blockquote>
<ul class="simple">
<li>Primero en llegar primero en servirse(FCFS) - Fisrt-come, First-serverd.</li>
<li>Menor tiempo primero(SJF) - Shortest Job First.</li>
<li>planificación por turno rotatorio(RR) - Round Robin.</li>
<li>Preemptive Shortest Job First (PSJF).</li>
</ul>
</blockquote>
<p>los algoritmos pueden ser simulados con las siguientes funciones:</p>
<blockquote>
<ul class="simple">
<li>Constante.</li>
<li>Uniforme.</li>
<li>Exponencial.</li>
<li>Normal.</li>
</ul>
</blockquote>
<div class="admonition note">
<p class="first admonition-title">Nota</p>
<p class="last">La función &#8220;Uniforme&#8221; recive 2 valores, minímo y maxímo .</p>
</div>
<p>Subir al <a class="reference internal" href="#inicio">inicio</a> del manual</p>
</div>
<div class="section" id="requisitos">
<h2><a class="toc-backref" href="#id3">Requisitos</a><a class="headerlink" href="#requisitos" title="Enlazar permanentemente con este título">¶</a></h2>
<p>Para poder ejecutar el Simuproc, debe tener las siguientes dependencias instaladas:</p>
<blockquote>
<ul class="simple">
<li>python-imaging</li>
<li>lshw</li>
<li>GTK</li>
<li>Python-gtk2</li>
<li>python-matplotlib</li>
<li>python-symPy</li>
<li>python-scipy</li>
</ul>
</blockquote>
<p>Subir al <a class="reference internal" href="#inicio">inicio</a> del manual</p>
<div class="section" id="instalacion-de-dependencias">
<h3><a class="toc-backref" href="#id4">Instalación de dependencias</a><a class="headerlink" href="#instalacion-de-dependencias" title="Enlazar permanentemente con este título">¶</a></h3>
<dl class="docutils">
<dt>Puede instalar las dependencias escribiendo en un terminal/consola lo siguiente:</dt>
<dd>aptitude install python-imaging lshw python-gtk2 python-matplotlib python-symPy python-scipy</dd>
</dl>
<p>Subir al <a class="reference internal" href="#inicio">inicio</a> del manual</p>
</div>
</div>
<div class="section" id="ejecutar-el-programa">
<h2><a class="toc-backref" href="#id5">Ejecutar el programa</a><a class="headerlink" href="#ejecutar-el-programa" title="Enlazar permanentemente con este título">¶</a></h2>
<p>Para ejecutar el programa, puede hacerlo de 2 formas:</p>
<ul class="simple">
<li>Por consola:</li>
</ul>
<blockquote>
<ol class="arabic simple">
<li>Abra un terminal/consola.</li>
<li>Entrar a la carpeta &#8220;Simuproc&#8221;, escribiendo: cd simuproc</li>
<li>Luego escribir: python simuproc.py</li>
<li>Listo, debería haber abierto el programa.</li>
</ol>
</blockquote>
<ul class="simple">
<li>De forma gráfica:</li>
</ul>
<blockquote>
<ol class="arabic simple">
<li>Abrir el navegador de archivos.</li>
<li>Entrar en la carpeta &#8220;Simuproc&#8221;</li>
<li>Seleccionar el archivo &#8220;simuproc.py y pulsar enter.</li>
<li>Listo, debería haber abierto el programa.</li>
</ol>
</blockquote>
<p>Subir al <a class="reference internal" href="#inicio">inicio</a> del manual</p>
</div>
<div class="section" id="uso">
<h2><a class="toc-backref" href="#id6">Uso</a><a class="headerlink" href="#uso" title="Enlazar permanentemente con este título">¶</a></h2>
<div class="section" id="ventana-de-bienvenida">
<h3><a class="toc-backref" href="#id7">Ventana de Bienvenida</a><a class="headerlink" href="#ventana-de-bienvenida" title="Enlazar permanentemente con este título">¶</a></h3>
<p>En esta ventana, le saldrá lo siguiente:</p>
<blockquote>
<img alt="Imagen de la ventana de bienvenida." class="align-center" src="_images/bienvenida.png" />
</blockquote>
<p>dandole la bienvenida al usuario.</p>
<p>Para continuar con el programa, presione el botón &#8220;Adelante&#8221;</p>
</div>
<div class="section" id="ventana-de-solicitud-de-datos">
<h3><a class="toc-backref" href="#id8">Ventana de Solicitud de datos</a><a class="headerlink" href="#ventana-de-solicitud-de-datos" title="Enlazar permanentemente con este título">¶</a></h3>
<p>En esta ventana le saldrá lo siguiente:</p>
<blockquote>
<img alt="Imagen de la ventana de solicitud de datos para la corrida." class="align-center" src="_images/solicitud.png" />
</blockquote>
<p>donde se le solicitarán los siguientes datos.</p>
<ol class="arabic simple">
<li>Seleccionar al menos 1 de los siguientes algoritmos:</li>
</ol>
<blockquote>
<ul class="simple">
<li>Primero en llegar primero en servirse(FCFS) - Fisrt-come, First-serverd.</li>
<li>Menor tiempo primero(SJF) - Shortest Job First.</li>
<li>planificación por turno rotatorio(RR) - Round Robin.</li>
<li>Preemptive Shortest Job First (PSJF).</li>
</ul>
</blockquote>
<p>marcando su casilla correspondiente, puede marcar varias si lo desea.</p>
<ol class="arabic simple" start="2">
<li>Seleccionar la función para el tiempo de llegada y escribir en el cuadro de texto el valor, puede ser un valor entero o flotante.</li>
<li>Seleccionar la función para el tiempo de uso del CPU y escribir en el cuadro de texto el valor, puede ser un valor entero o flotante.</li>
<li>Seleccionar la función para el tiempo de bloqueo y escribir en el cuadro de texto el valor, puede ser un valor entero o flotante.</li>
<li>Escribir en el cuadro de texto, el número de procesos a ejecutar, debe ser un valor entero y positivo.</li>
</ol>
<div class="admonition warning">
<p class="first admonition-title">Advertencia</p>
<p class="last">si ha seleccionado el algoritmo de Round Robin (RR), debe colocar obligatoriamente en el cuadro de texto el valor del cuantum de tiempo, puede ser un valor entero o flotante.</p>
</div>
<div class="admonition warning">
<p class="first admonition-title">Advertencia</p>
<p class="last">para los flotantes, debe separar los decimales con un punto &#8220;.&#8221; (ej: 15.25)</p>
</div>
<div class="admonition warning">
<p class="first admonition-title">Advertencia</p>
<p>si ha colocado un valor negativo, un caracter o un simbolo en alguno de los campos de texto, le saldrá un error como el siguiente:</p>
<img alt="Imagen de la ventana de error al dejar el campo del cuantum de tiempo vacío." class="last align-center" src="_images/error.png" />
</div>
<p>el mensaje será diferente, según sea el error.</p>
<p>Para que el programa realice los calculos presione el botón &#8220;Adelante&#8221;.</p>
</div>
<div class="section" id="ventana-de-resultados">
<h3><a class="toc-backref" href="#id9">Ventana de resultados</a><a class="headerlink" href="#ventana-de-resultados" title="Enlazar permanentemente con este título">¶</a></h3>
<p>Antes de mostrar los resultados, mientras se hacen los calculos, le saldrá una barra de progreso, como la siguiente:</p>
<blockquote>
<img alt="Imagen de la barra de progreso." class="align-center" src="_images/progreso.png" />
</blockquote>
<p>al terminar, se mostrara la siguiente ventana:</p>
<blockquote>
<img alt="Imagen de la ventana de resultados." class="align-center" src="_images/resultados.png" />
</blockquote>
<p>donde se muestran los resultados de la corrida, que son:</p>
<blockquote>
<ul class="simple">
<li>Algoritmo.</li>
<li>Número de procesos.</li>
<li>Uso del CPU (va entre 0 y 1)</li>
<li>Tiempo promedio de uso de CPU.</li>
<li>Tiempo promedio de espera.</li>
</ul>
</blockquote>
<p>Subir al <a class="reference internal" href="#inicio">inicio</a> del manual</p>
</div>
</div>
<div class="section" id="ver-graficas">
<h2><a class="toc-backref" href="#id10">Ver gráficas</a><a class="headerlink" href="#ver-graficas" title="Enlazar permanentemente con este título">¶</a></h2>
<p>Para ver las gráficas generadas, haga lo siguiente:</p>
<blockquote>
<ol class="arabic">
<li><p class="first">En la ventana de resultados, seleccione del cuadro combinado, la grafica del algoritmo que desea ver.</p>
</li>
<li><p class="first">Presione el botón &#8220;Ver gráfica&#8221;, le saldrá una ventana como la siguiente:</p>
<img alt="Imagen de la ventana de la gráfica del algoritmo Round Robin." class="align-center" src="_images/grafica1.png" />
</li>
</ol>
<ol class="arabic simple" start="3">
<li>En el eje X estan los procesos.</li>
<li>En el eje Y están los tiempos de espera.</li>
</ol>
</blockquote>
<div class="admonition warning">
<p class="first admonition-title">Advertencia</p>
<p class="last">se recomienda cerrar la ventana antes de ver otra gráfica.</p>
</div>
<p>Subir al <a class="reference internal" href="#inicio">inicio</a> del manual</p>
</div>
<div class="section" id="ver-simulaciones">
<h2><a class="toc-backref" href="#id11">Ver Simulaciónes</a><a class="headerlink" href="#ver-simulaciones" title="Enlazar permanentemente con este título">¶</a></h2>
<p>Para ver las simulaciones de los procesos según el algoritmo, haga lo siguiente:</p>
<blockquote>
<ol class="arabic">
<li><p class="first">En la ventana de resultados, seleccione del cuadro combinado, el algoritmo que desea simular.</p>
</li>
<li><p class="first">Presione el botón &#8220;Ver Simulación&#8221;, le saldrá una ventana como la siguiente:</p>
<img alt="Imagen de la ventana de simulación del algoritmo FCFS" class="align-center" src="_images/simulacion.png" />
</li>
</ol>
</blockquote>
<div class="admonition note">
<p class="first admonition-title">Nota</p>
<p class="last">para la simulación se toman un maxímo de 10 procesos y el tiempo medio de espera</p>
</div>
<div class="admonition warning">
<p class="first admonition-title">Advertencia</p>
<p class="last">se recomienda esperar a que termine la simulación para cerrar la ventana y hacer otra simulación.</p>
</div>
<p>Subir al <a class="reference internal" href="#inicio">inicio</a> del manual</p>
</div>
<div class="section" id="miscelaneos">
<h2><a class="toc-backref" href="#id12">Misceláneos</a><a class="headerlink" href="#miscelaneos" title="Enlazar permanentemente con este título">¶</a></h2>
<p>Estas son las funciones de los diferentes botones que tiene la aplicación</p>
<blockquote>
<ul class="simple">
<li><em>Botón Salir:</em> permite al usuario cerrar el programa., al presionar el mismo, le saldrá un aviso como el siguiente:</li>
</ul>
<p><em>¿Está seguro que desea salir del programa?</em></p>
<p>debe presionar &#8220;No&#8221; o &#8220;Sí&#8221;, para cerrar o no la aplicación.</p>
<ul>
<li><p class="first"><em>Botón Acerca:</em> le permite revisar quién desarrollo el programa, la versión, sitio web, entre otras, le saldrá una ventana como la siguiente:</p>
<blockquote>
<img alt="Imagen de la ventana &quot;Acerca de&quot;" class="align-center" src="_images/acerca.png" />
</blockquote>
</li>
<li><p class="first"><em>Botón Atrás:</em> permite ir a la ventana anterior a la que tiene el foco actualmente.</p>
</li>
<li><p class="first"><em>Botón Adelante:</em> permite ir a la ventana siguiente de la que tiene el foco.</p>
</li>
<li><p class="first"><em>Botón Ver Gráfica:</em> permite ver la gráfica del algoritmo seleccionado.</p>
</li>
<li><p class="first"><em>Botón Ver Simulación:</em> permite ver una simulación del algoritmo seleccionado, como si se estuvieran ejecutando.</p>
</li>
</ul>
</blockquote>
<p>Subir al <a class="reference internal" href="#inicio">inicio</a> del manual</p>
</div>
<div class="section" id="archivos-de-datos-generados">
<h2><a class="toc-backref" href="#id13">Archivos de datos generados</a><a class="headerlink" href="#archivos-de-datos-generados" title="Enlazar permanentemente con este título">¶</a></h2>
<p>El Simuproc genera en la carpeta &#8220;data&#8221;, según la selección del usuario, los siguientes archivos:</p>
<blockquote>
<ul class="simple">
<li>FCFS.dat</li>
<li>SJF.dat</li>
<li>RR.dat</li>
<li>PSJF.dat</li>
</ul>
</blockquote>
<p>los cuales contiene en cada columna:</p>
<blockquote>
<ul class="simple">
<li><strong>N:</strong> Número de procesos.</li>
<li><strong>T.E:</strong> Tiempo de espera.</li>
<li><strong>T.CPU:</strong> Tiempo de Uso del CPU.</li>
<li><strong>T.L:</strong> Tiempo de llegada.</li>
</ul>
</blockquote>
<p>que pueden ayudar al usuario a una mejor interpretación de los resultados.</p>
<p>Subir al <a class="reference internal" href="#inicio">inicio</a> del manual</p>
</div>
<div class="section" id="bibliografia">
<h2><a class="toc-backref" href="#id14">Bibliografía</a><a class="headerlink" href="#bibliografia" title="Enlazar permanentemente con este título">¶</a></h2>
<p>La documentación consultada para el desarrollo del &#8220;Simuproc&#8221; fue:</p>
<blockquote>
<ul>
<li><p class="first"><a class="reference external" href="https://pybonacci.wordpress.com/2012/04/21/estadistica-en-python-con-scipy/">https://pybonacci.wordpress.com/2012/04/21/estadistica-en-python-con-scipy/</a></p>
</li>
<li><p class="first"><a class="reference external" href="http://python.org.ar/Recetario/Gui/Gtk/MultiThread">http://python.org.ar/Recetario/Gui/Gtk/MultiThread</a></p>
</li>
<li><p class="first"><a class="reference external" href="http://python.org.ar/Recetario">http://python.org.ar/Recetario</a></p>
</li>
<li><p class="first"><a class="reference external" href="http://chuwiki.chuidiang.org/index.php?title=Hilos_en_python">http://chuwiki.chuidiang.org/index.php?title=Hilos_en_python</a></p>
<blockquote>
<div class="admonition-ver-tambien admonition seealso">
<p class="first last admonition-title">Ver también</p>
</div>
</blockquote>
</li>
<li><p class="first"><a class="reference external" href="http://pybonacci.wordpress.com/2012/05/14/manual-de-introduccion-a-matplotlib-pyplot-i/">http://pybonacci.wordpress.com/2012/05/14/manual-de-introduccion-a-matplotlib-pyplot-i/</a></p>
</li>
<li><p class="first"><a class="reference external" href="https://github.com/matplotlib/matplotlib/blob/master/examples/user_interfaces/embedding_in_gtk2.py">https://github.com/matplotlib/matplotlib/blob/master/examples/user_interfaces/embedding_in_gtk2.py</a></p>
</li>
</ul>
</blockquote>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navegación</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="Índice General"
             >índice</a></li>
        <li class="right" >
          <a href="index.html" title="Bienvenido al Manual de Usuario del SiMuProc"
             >anterior</a> |</li>
        <li><a href="index.html">Simulador de planificación de procesos - SIMUPROC</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
      &copy; Copyright 2013, Jorge Ortega - Jesús Perez.
      Creado con <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.6.
    </div>
  </body>
</html>